tricky javascript questions